package com.cw.lang.common.framework.aop.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RetryerHandler {
    /** 等待时间 */
    long waitMsec() default 0;
    /** 重试异常 */
    Class[] retryThrowable() default {};
    /** 最大停滞时间 */
    long maxDelayMsec() default 0;
    /** 重试次数 */
    int maxAttempt() default 0;
    /** 重试结果 */
    String retryResult() default "false";
}
